#pragma once

#include <QDoubleSpinBox>
#include <QWidget>
#include "particledefine.h"

namespace ParticleEditor
{
	class ShooterSettingWidget : public QWidget
	{
		Q_OBJECT
	public:
		ShooterSettingWidget(QWidget * parent = 0);
		~ShooterSettingWidget();

		void initParticleShooter(ParticleSystemLayer psl);
		void copyLayer(ParticleSystemLayer psl,ParticleSystemLayer newpsl);
	private:
		QDoubleSpinBox*							_radialShooterElevationMinSpinBox;
		QDoubleSpinBox*							_radialShooterElevationMaxSpinBox;
		QDoubleSpinBox*							_radialShooterAzimuthMinSpinBox;
		QDoubleSpinBox*							_radialShooterAzimuthMaxSpinBox;
		QDoubleSpinBox*							_radialShooterInitialVelocityMinSpinBox;
		QDoubleSpinBox*							_radialShooterInitialVelocityMaxSpinBox;
		QDoubleSpinBox*							_radialShooterInitialMinRotationXSpinBox;
		QDoubleSpinBox*							_radialShooterInitialMinRotationYSpinBox;
		QDoubleSpinBox*							_radialShooterInitialMinRotationZSpinBox;
		QDoubleSpinBox*							_radialShooterInitialMaxRotationXSpinBox;
		QDoubleSpinBox*							_radialShooterInitialMaxRotationYSpinBox;
		QDoubleSpinBox*							_radialShooterInitialMaxRotationZSpinBox;
		ParticleSystemLayer						_particleSystemLayer;
	private slots:
		void slotsRadialShooterElevationMinSpinBox(double);
		void slotsRadialShooterElevationMaxSpinBox(double);
		void slotsRadialShooterAzimuthMinSpinBox(double);
		void slotsRadialShooterAzimuthMaxSpinBox(double);
		void slotsRadialShooterInitialVelocityMinSpinBox(double);
		void slotsRadialShooterInitialVelocityMaxSpinBox(double);
		void slotsRadialShooterInitialMinRotationXSpinBox(double);
		void slotsRadialShooterInitialMinRotationYSpinBox(double);
		void slotsRadialShooterInitialMinRotationZSpinBox(double);
		void slotsRadialShooterInitialMaxRotationXSpinBox(double);
		void slotsRadialShooterInitialMaxRotationYSpinBox(double);
		void slotsRadialShooterInitialMaxRotationZSpinBox(double);
	};
}